统一(简单)专题图 Sample详情

最后更新时间:2019年6月17日

统一专题图采用单一符号信息配置图层中的所有图元,主要用于强调数据的分布特征。

1

获取矢量图层

map = aMapView.getMap();
vectorLayer = (VectorLayer) map.getLayer(i);

2

创建点/线/区图形信息

根据当前图层类型创建相应几何图形信息(GeomInfo),在此以区图层为例。

//创建区几何图形信息对象
RegInfo regInfo = new RegInfo();           
regInfo.setFillClr((int) (1 + Math.random() * (1500 - 1 + 1))); //设置填充颜色(参考MapGIS颜色库颜色编号)

3

创建统一专题图绘制信息对象

创建统一专题图绘制信息对象(ThemeInfo),调用专题图信息对象的setGeoInfo方法设置图形信息,同时设置其专题图名称、是否显示、最大最小显示比等参数。

ThemeInfo themeInfo = new ThemeInfo();              //创建简单专题图绘制信息对象
themeInfo.setGeoInfo(regInfo );                     //为专题图绘制信息对象设置图形信息
themeInfo.setCaption("简单专题图");                  //设置名称
themeInfo.setIsVisible(true);                       //设置是否显示
themeInfo.setMaxScale(0);                           //设置最大显示比
themeInfo.setMinScale(0);                           //设置最小显示比

4

创建简单专题图对象

创建简单专题图对象(SimpleTheme),调用其setThemeInfo方法设置专题图信息,同时设置专题图的名称、可见性等信息。

SimpleTheme simpleTheme = new SimpleTheme();         //创建简单专题图对象
simpleTheme.setName("专题图");                        //设置专题图的名称
simpleTheme.setVisible(true);                        //设置专题图的可见性
simpleTheme.setThemeInfo(themeInfo);                 //设置简单专题图的绘制信息

5

显示专题图

获取专题图集合Thems,调用其append方法添加专题图。

// 将专题图添加到对应矢量图层上
vectorLayer.getThemes().append(simpleTheme);
//停止当前的获取数据的请求
aMapView.stopCurRequest(new MapView.MapViewStopCurRequestCallback() {
    public void onDidStopCurRequest() {
        aMapView.forceRefresh();         //刷新地图视图
    }
});

统一专题图实现效果如下图所示:

统一专题图.jpg